// pages/product/product.js
// 请求方法
const HTTP = require("../../utils/http-list.js");
const http = new HTTP();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    topList: [],
    contentList:[],
    // 滚动页码记录,切换页码归1
    page:[],
    // 记录当前索引
    ind:0,
    // 总页码
    totalPage:[]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    http.showLoading("正在加载").postD({
      cmd: "getCateList"
    }).then((res) => {
      if (res.data.result == 0) {
        this.setData({
          topList: res.data.dataList
        })
        this._loadData(0)
      }
      
    })
  },
  /**
   * 
   * @param {切换} event 
   */
  changeList(event) {
    const cid=this.data.topList[event.detail.index - 0].id;
    this.setData({
      ind:event.detail.index - 0
    })
    if(this.data.contentList[this.data.ind]){
      return;
    }
    this._loadData(event.detail.index - 0)
  },
  /**
   * 根据index加载列表并做缓存
   */
  _loadData(ind,page=1,callback){
    // console.log(2)
    
    http.showLoading().postD({
      cmd:"getMaterialsList",
      id:this.data.topList[ind].id,
      nowPage:page
    }).then((res)=>{
      let setData="contentList["+ind+"]";
      let pages="page["+ind+"]";
      let totalp="totalPage["+ind+"]";
      // let totalPage
      if(res.data.result==0){
        if(callback){
          callback(res)
          wx.hideLoading();
          return;
        }
        if(!res.data.dataList){
          this.setData({
            [setData]:[],
            [pages]:page,
            [totalp]:0
          })
        }else{
          this.setData({
            [setData]:res.data.dataList,
            [pages]:page,
            [totalp]:res.data.totalPage
          })
        }
        
        wx.hideLoading();
      }
      
    })
  },
  scrollBootom(){
    let ind=this.data.ind-0;
    let totalP=this.data.totalPage[ind]-0;
    let currentP=(this.data.page[ind]-0)
    if(totalP<=currentP){
      return;
    }
    let setData="contentList["+ind+"]";
    let pages="page["+ind+"]";
    this._loadData(this.data.ind,currentP+1,(res)=>{
      let list=this.data.contentList[ind].concat(res.data.dataList);
      this.setData({
        [setData]:list,
        [pages]:currentP+1
      })
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})